
package webservices.framework.affilinet.svc.product;

import javax.xml.bind.JAXBElement;
import javax.xml.bind.annotation.XmlElementDecl;
import javax.xml.bind.annotation.XmlRegistry;
import javax.xml.namespace.QName;
import webservices.framework.affilinet.types.productservice.CategoryResult;
import webservices.framework.affilinet.types.productservice.CategoryTree;
import webservices.framework.affilinet.types.productservice.CategoryTreeRequestMessage;
import webservices.framework.affilinet.types.productservice.GetCategoryPathRequestMessage;
import webservices.framework.affilinet.types.productservice.GetCategoryTreeRequestMessage;
import webservices.framework.affilinet.types.productservice.GetProductDetailRequestMessage;
import webservices.framework.affilinet.types.productservice.GetProductsRequestMessage;
import webservices.framework.affilinet.types.productservice.ProductSearchResult;
import webservices.framework.affilinet.types.productservice.SearchProductsInCategoriesRequestMessage;
import webservices.framework.affilinet.types.productservice.SearchProductsInCategoryRequestMessage;
import webservices.framework.affilinet.types.productservice.SearchProductsRequestMessage;
import webservices.framework.affilinet.types.productservice.ShopList;


/**
 * This object contains factory methods for each 
 * Java content interface and Java element interface 
 * generated in the webservices.framework.affilinet.svc package. 
 * <p>An ObjectFactory allows you to programatically 
 * construct new instances of the Java representation 
 * for XML content. The Java representation of XML 
 * content can consist of schema derived interfaces 
 * and classes representing the binding of schema 
 * type definitions, element declarations and model 
 * groups.  Factory methods for each of these are 
 * provided in this class.
 * 
 */
@XmlRegistry
public class ObjectFactory {

    private final static QName _ShopList_QNAME = new QName("http://affilinet.framework.webservices/Svc", "ShopList");
    private final static QName _ProductSearchResult_QNAME = new QName("http://affilinet.framework.webservices/Svc", "ProductSearchResult");
    private final static QName _GetCategoryTreeResponseCategoryTree_QNAME = new QName("http://affilinet.framework.webservices/Svc", "CategoryTree");
    private final static QName _GetCategoryPathResponseCategoryResult_QNAME = new QName("http://affilinet.framework.webservices/Svc", "CategoryResult");
    private final static QName _SearchProductsRequestCredentialToken_QNAME = new QName("http://affilinet.framework.webservices/Svc", "CredentialToken");
    private final static QName _SearchProductsRequestSearchProductsRequestMessage_QNAME = new QName("http://affilinet.framework.webservices/Svc", "SearchProductsRequestMessage");
    private final static QName _GetProductDetailRequestGetProductDetailRequestMessage_QNAME = new QName("http://affilinet.framework.webservices/Svc", "GetProductDetailRequestMessage");
    private final static QName _SearchProductsInCategoriesRequestSearchProductsInCategoriesRequestMessage_QNAME = new QName("http://affilinet.framework.webservices/Svc", "SearchProductsInCategoriesRequestMessage");
    private final static QName _SearchProductsInCategoryRequestSearchProductsInCategoryRequestMessage_QNAME = new QName("http://affilinet.framework.webservices/Svc", "SearchProductsInCategoryRequestMessage");
    private final static QName _GetCategoryPathRequestGetCategoryPathRequestMessage_QNAME = new QName("http://affilinet.framework.webservices/Svc", "GetCategoryPathRequestMessage");
    private final static QName _GetCategoryTreeRequestGetCategoryTreeRequestMessage_QNAME = new QName("http://affilinet.framework.webservices/Svc", "GetCategoryTreeRequestMessage");
    private final static QName _GetCategoryListRequestGetCategoryListRequestMessage_QNAME = new QName("http://affilinet.framework.webservices/Svc", "GetCategoryListRequestMessage");
    private final static QName _GetProductsRequestGetProductsRequestMessage_QNAME = new QName("http://affilinet.framework.webservices/Svc", "GetProductsRequestMessage");

    /**
     * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: webservices.framework.affilinet.svc
     * 
     */
    public ObjectFactory() {
    }

    /**
     * Create an instance of {@link GetCategoryTreeResponse }
     * 
     */
    public GetCategoryTreeResponse createGetCategoryTreeResponse() {
        return new GetCategoryTreeResponse();
    }

    /**
     * Create an instance of {@link GetCategoryPathResponse }
     * 
     */
    public GetCategoryPathResponse createGetCategoryPathResponse() {
        return new GetCategoryPathResponse();
    }

    /**
     * Create an instance of {@link SearchProductsInCategoryResponse }
     * 
     */
    public SearchProductsInCategoryResponse createSearchProductsInCategoryResponse() {
        return new SearchProductsInCategoryResponse();
    }

    /**
     * Create an instance of {@link SearchProductsRequest }
     * 
     */
    public SearchProductsRequest createSearchProductsRequest() {
        return new SearchProductsRequest();
    }

    /**
     * Create an instance of {@link SearchProductsInCategoriesResponse }
     * 
     */
    public SearchProductsInCategoriesResponse createSearchProductsInCategoriesResponse() {
        return new SearchProductsInCategoriesResponse();
    }

    /**
     * Create an instance of {@link GetProductDetailRequest }
     * 
     */
    public GetProductDetailRequest createGetProductDetailRequest() {
        return new GetProductDetailRequest();
    }

    /**
     * Create an instance of {@link SearchProductsInCategoriesRequest }
     * 
     */
    public SearchProductsInCategoriesRequest createSearchProductsInCategoriesRequest() {
        return new SearchProductsInCategoriesRequest();
    }

    /**
     * Create an instance of {@link SearchProductsInCategoryRequest }
     * 
     */
    public SearchProductsInCategoryRequest createSearchProductsInCategoryRequest() {
        return new SearchProductsInCategoryRequest();
    }

    /**
     * Create an instance of {@link GetCategoryPathRequest }
     * 
     */
    public GetCategoryPathRequest createGetCategoryPathRequest() {
        return new GetCategoryPathRequest();
    }

    /**
     * Create an instance of {@link GetCategoryTreeRequest }
     * 
     */
    public GetCategoryTreeRequest createGetCategoryTreeRequest() {
        return new GetCategoryTreeRequest();
    }

    /**
     * Create an instance of {@link GetCategoryListRequest }
     * 
     */
    public GetCategoryListRequest createGetCategoryListRequest() {
        return new GetCategoryListRequest();
    }

    /**
     * Create an instance of {@link GetShopListRequest }
     * 
     */
    public GetShopListRequest createGetShopListRequest() {
        return new GetShopListRequest();
    }

    /**
     * Create an instance of {@link GetProductsRequest }
     * 
     */
    public GetProductsRequest createGetProductsRequest() {
        return new GetProductsRequest();
    }

    /**
     * Create an instance of {@link GetCategoryListResponse }
     * 
     */
    public GetCategoryListResponse createGetCategoryListResponse() {
        return new GetCategoryListResponse();
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link ShopList }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://affilinet.framework.webservices/Svc", name = "ShopList")
    public JAXBElement<ShopList> createShopList(ShopList value) {
        return new JAXBElement<ShopList>(_ShopList_QNAME, ShopList.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link ProductSearchResult }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://affilinet.framework.webservices/Svc", name = "ProductSearchResult")
    public JAXBElement<ProductSearchResult> createProductSearchResult(ProductSearchResult value) {
        return new JAXBElement<ProductSearchResult>(_ProductSearchResult_QNAME, ProductSearchResult.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link CategoryTree }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://affilinet.framework.webservices/Svc", name = "CategoryTree", scope = GetCategoryTreeResponse.class)
    public JAXBElement<CategoryTree> createGetCategoryTreeResponseCategoryTree(CategoryTree value) {
        return new JAXBElement<CategoryTree>(_GetCategoryTreeResponseCategoryTree_QNAME, CategoryTree.class, GetCategoryTreeResponse.class, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link CategoryResult }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://affilinet.framework.webservices/Svc", name = "CategoryResult", scope = GetCategoryPathResponse.class)
    public JAXBElement<CategoryResult> createGetCategoryPathResponseCategoryResult(CategoryResult value) {
        return new JAXBElement<CategoryResult>(_GetCategoryPathResponseCategoryResult_QNAME, CategoryResult.class, GetCategoryPathResponse.class, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link ProductSearchResult }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://affilinet.framework.webservices/Svc", name = "ProductSearchResult", scope = SearchProductsInCategoryResponse.class)
    public JAXBElement<ProductSearchResult> createSearchProductsInCategoryResponseProductSearchResult(ProductSearchResult value) {
        return new JAXBElement<ProductSearchResult>(_ProductSearchResult_QNAME, ProductSearchResult.class, SearchProductsInCategoryResponse.class, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://affilinet.framework.webservices/Svc", name = "CredentialToken", scope = SearchProductsRequest.class)
    public JAXBElement<String> createSearchProductsRequestCredentialToken(String value) {
        return new JAXBElement<String>(_SearchProductsRequestCredentialToken_QNAME, String.class, SearchProductsRequest.class, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link SearchProductsRequestMessage }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://affilinet.framework.webservices/Svc", name = "SearchProductsRequestMessage", scope = SearchProductsRequest.class)
    public JAXBElement<SearchProductsRequestMessage> createSearchProductsRequestSearchProductsRequestMessage(SearchProductsRequestMessage value) {
        return new JAXBElement<SearchProductsRequestMessage>(_SearchProductsRequestSearchProductsRequestMessage_QNAME, SearchProductsRequestMessage.class, SearchProductsRequest.class, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link ProductSearchResult }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://affilinet.framework.webservices/Svc", name = "ProductSearchResult", scope = SearchProductsInCategoriesResponse.class)
    public JAXBElement<ProductSearchResult> createSearchProductsInCategoriesResponseProductSearchResult(ProductSearchResult value) {
        return new JAXBElement<ProductSearchResult>(_ProductSearchResult_QNAME, ProductSearchResult.class, SearchProductsInCategoriesResponse.class, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link GetProductDetailRequestMessage }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://affilinet.framework.webservices/Svc", name = "GetProductDetailRequestMessage", scope = GetProductDetailRequest.class)
    public JAXBElement<GetProductDetailRequestMessage> createGetProductDetailRequestGetProductDetailRequestMessage(GetProductDetailRequestMessage value) {
        return new JAXBElement<GetProductDetailRequestMessage>(_GetProductDetailRequestGetProductDetailRequestMessage_QNAME, GetProductDetailRequestMessage.class, GetProductDetailRequest.class, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://affilinet.framework.webservices/Svc", name = "CredentialToken", scope = GetProductDetailRequest.class)
    public JAXBElement<String> createGetProductDetailRequestCredentialToken(String value) {
        return new JAXBElement<String>(_SearchProductsRequestCredentialToken_QNAME, String.class, GetProductDetailRequest.class, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link SearchProductsInCategoriesRequestMessage }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://affilinet.framework.webservices/Svc", name = "SearchProductsInCategoriesRequestMessage", scope = SearchProductsInCategoriesRequest.class)
    public JAXBElement<SearchProductsInCategoriesRequestMessage> createSearchProductsInCategoriesRequestSearchProductsInCategoriesRequestMessage(SearchProductsInCategoriesRequestMessage value) {
        return new JAXBElement<SearchProductsInCategoriesRequestMessage>(_SearchProductsInCategoriesRequestSearchProductsInCategoriesRequestMessage_QNAME, SearchProductsInCategoriesRequestMessage.class, SearchProductsInCategoriesRequest.class, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://affilinet.framework.webservices/Svc", name = "CredentialToken", scope = SearchProductsInCategoriesRequest.class)
    public JAXBElement<String> createSearchProductsInCategoriesRequestCredentialToken(String value) {
        return new JAXBElement<String>(_SearchProductsRequestCredentialToken_QNAME, String.class, SearchProductsInCategoriesRequest.class, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link SearchProductsInCategoryRequestMessage }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://affilinet.framework.webservices/Svc", name = "SearchProductsInCategoryRequestMessage", scope = SearchProductsInCategoryRequest.class)
    public JAXBElement<SearchProductsInCategoryRequestMessage> createSearchProductsInCategoryRequestSearchProductsInCategoryRequestMessage(SearchProductsInCategoryRequestMessage value) {
        return new JAXBElement<SearchProductsInCategoryRequestMessage>(_SearchProductsInCategoryRequestSearchProductsInCategoryRequestMessage_QNAME, SearchProductsInCategoryRequestMessage.class, SearchProductsInCategoryRequest.class, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://affilinet.framework.webservices/Svc", name = "CredentialToken", scope = SearchProductsInCategoryRequest.class)
    public JAXBElement<String> createSearchProductsInCategoryRequestCredentialToken(String value) {
        return new JAXBElement<String>(_SearchProductsRequestCredentialToken_QNAME, String.class, SearchProductsInCategoryRequest.class, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link GetCategoryPathRequestMessage }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://affilinet.framework.webservices/Svc", name = "GetCategoryPathRequestMessage", scope = GetCategoryPathRequest.class)
    public JAXBElement<GetCategoryPathRequestMessage> createGetCategoryPathRequestGetCategoryPathRequestMessage(GetCategoryPathRequestMessage value) {
        return new JAXBElement<GetCategoryPathRequestMessage>(_GetCategoryPathRequestGetCategoryPathRequestMessage_QNAME, GetCategoryPathRequestMessage.class, GetCategoryPathRequest.class, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://affilinet.framework.webservices/Svc", name = "CredentialToken", scope = GetCategoryPathRequest.class)
    public JAXBElement<String> createGetCategoryPathRequestCredentialToken(String value) {
        return new JAXBElement<String>(_SearchProductsRequestCredentialToken_QNAME, String.class, GetCategoryPathRequest.class, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://affilinet.framework.webservices/Svc", name = "CredentialToken", scope = GetCategoryTreeRequest.class)
    public JAXBElement<String> createGetCategoryTreeRequestCredentialToken(String value) {
        return new JAXBElement<String>(_SearchProductsRequestCredentialToken_QNAME, String.class, GetCategoryTreeRequest.class, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link GetCategoryTreeRequestMessage }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://affilinet.framework.webservices/Svc", name = "GetCategoryTreeRequestMessage", scope = GetCategoryTreeRequest.class)
    public JAXBElement<GetCategoryTreeRequestMessage> createGetCategoryTreeRequestGetCategoryTreeRequestMessage(GetCategoryTreeRequestMessage value) {
        return new JAXBElement<GetCategoryTreeRequestMessage>(_GetCategoryTreeRequestGetCategoryTreeRequestMessage_QNAME, GetCategoryTreeRequestMessage.class, GetCategoryTreeRequest.class, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://affilinet.framework.webservices/Svc", name = "CredentialToken", scope = GetShopListRequest.class)
    public JAXBElement<String> createGetShopListRequestCredentialToken(String value) {
        return new JAXBElement<String>(_SearchProductsRequestCredentialToken_QNAME, String.class, GetShopListRequest.class, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link CategoryTreeRequestMessage }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://affilinet.framework.webservices/Svc", name = "GetCategoryListRequestMessage", scope = GetCategoryListRequest.class)
    public JAXBElement<CategoryTreeRequestMessage> createGetCategoryListRequestGetCategoryListRequestMessage(CategoryTreeRequestMessage value) {
        return new JAXBElement<CategoryTreeRequestMessage>(_GetCategoryListRequestGetCategoryListRequestMessage_QNAME, CategoryTreeRequestMessage.class, GetCategoryListRequest.class, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://affilinet.framework.webservices/Svc", name = "CredentialToken", scope = GetCategoryListRequest.class)
    public JAXBElement<String> createGetCategoryListRequestCredentialToken(String value) {
        return new JAXBElement<String>(_SearchProductsRequestCredentialToken_QNAME, String.class, GetCategoryListRequest.class, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://affilinet.framework.webservices/Svc", name = "CredentialToken", scope = GetProductsRequest.class)
    public JAXBElement<String> createGetProductsRequestCredentialToken(String value) {
        return new JAXBElement<String>(_SearchProductsRequestCredentialToken_QNAME, String.class, GetProductsRequest.class, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link GetProductsRequestMessage }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://affilinet.framework.webservices/Svc", name = "GetProductsRequestMessage", scope = GetProductsRequest.class)
    public JAXBElement<GetProductsRequestMessage> createGetProductsRequestGetProductsRequestMessage(GetProductsRequestMessage value) {
        return new JAXBElement<GetProductsRequestMessage>(_GetProductsRequestGetProductsRequestMessage_QNAME, GetProductsRequestMessage.class, GetProductsRequest.class, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link CategoryResult }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://affilinet.framework.webservices/Svc", name = "CategoryResult", scope = GetCategoryListResponse.class)
    public JAXBElement<CategoryResult> createGetCategoryListResponseCategoryResult(CategoryResult value) {
        return new JAXBElement<CategoryResult>(_GetCategoryPathResponseCategoryResult_QNAME, CategoryResult.class, GetCategoryListResponse.class, value);
    }

}
